package com.example.cloudmusic.home.repository

import com.example.cm_network.NetworkClient

/**
 * 首页仓库提供者
 */
object HomeRepositoryProvider {
    // 单例仓库实例
    private val repository: HomeRepositoryImpl by lazy {
        HomeRepositoryImpl(NetworkClient.apiService)
    }
    
    /**
     * 获取HomeRepository实例
     */
    fun provideHomeRepository(): HomeRepository = repository
    
    /**
     * 获取具体实现类实例
     */
    fun provideHomeRepositoryImpl(): HomeRepositoryImpl = repository
    
    /**
     * 切换数据源类型
     */
    fun switchDataSource(type: DataSourceType) {
        repository.switchDataSource(type)
    }
    
    /**
     * 获取当前数据源类型
     */
    fun getCurrentDataSourceType(): DataSourceType = repository.getCurrentDataSourceType()
}